#
# Rockchip V4L2 DRM with AIQ Service Makefile
#

# --- 交叉编译器和系统根目录 ---
# (此部分保持不变)
SDK_ROOT_PATH=/home/ye/rk3576/rk3576_linux6.1_release
CROSS_COMPILE=$(SDK_ROOT_PATH)/buildroot/output/rockchip_rk3576/host/bin/aarch64-buildroot-linux-gnu-
SYSROOT=$(SDK_ROOT_PATH)/buildroot/output/rockchip_rk3576/host/aarch64-buildroot-linux-gnu/sysroot

CC 	:= $(CROSS_COMPILE)gcc --sysroot=$(SYSROOT)

# --- 编译和链接标志 ---

# CFLAGS 中增加 rkaiq 的头文件根目录搜索路径
CFLAGS 	= -O2 -W -Wall -std=gnu99 -pthread \
	-I$(SYSROOT)/usr/include/libdrm \
	-I$(SYSROOT)/usr/include/rkaiq  \
	-I$(SYSROOT)/usr/include/rknn \
	-I$(SYSROOT)/usr/include/rga \
	-I./ # NPU模块头文件在当前目录

# LDFLAGS 保持不变
LDFLAGS = -L$(SYSROOT)/usr/lib

# LIBS 中增加 rkaiq 的链接库 -lrkaiq，并增加数学库 -lm
LIBS 	= -lrt -ldrm -lrkaiq -lrknnrt -lm -pthread -lrga

# --- 源文件和目标文件 ---
TARGET := v4l2_drm_aiq_npu
SRCS   := $(wildcard *.c)
OBJS   := $(SRCS:.c=.o)

# --- 编译规则 ---

all: $(TARGET)

# %.o 规则保持不变
%.o : %.c
	$(CC) $(CFLAGS) -c -o $@ $<

# 链接规则，使用 $(TARGET) 变量
$(TARGET): $(OBJS)
	$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
	@echo "编译完成! 生成可执行文件: $(TARGET)"

# clean 规则，使用 $(TARGET) 变量
clean:
	-rm -f *.o
	-rm -f $(TARGET)

